package com.yunhe.log.service.base;

import com.yunhe.common.model.PageParam;
import com.yunhe.log.domain.base.SystemMonitorLogType;

/**
 * 系统监控日志类型Service
 * @desc 系统监控日志类型服务类定义
 * @author liuronglei
 */
public interface SystemMonitorLogTypeService {

//    /**
//    * 新增系统监控日志类型
//     * @param systemMonitorLogType 新增对象
//     */
//    SystemMonitorLogType createSystemMonitorLogType(SystemMonitorLogType systemMonitorLogType)
//            throws ArgumentErrorException, UniqueConstraintsException;
//
//    /**
//     * 批量新增系统监控日志类型
//     * @param list 系统监控日志类型列表
//     */
//    Iterable<SystemMonitorLogType> createSystemMonitorLogType(List<SystemMonitorLogType> list)
//            throws ArgumentErrorException, UniqueConstraintsException;
//
//    /**
//     * 根据id删除系统监控日志类型
//     * @param id id
//     */
//    void delete(Long id);
//
//    /**
//     * 更新系统监控日志类型（更新全部字段）
//     * @param systemMonitorLogType 要更新的系统监控日志类型对象
//     */
//    SystemMonitorLogType updateSystemMonitorLogType(SystemMonitorLogType systemMonitorLogType)
//            throws ArgumentErrorException, UniqueConstraintsException, ObjectNotFoundException;
//
//    /**
//     * 更新系统监控日志类型（更新指定字段）
//     * @param id id
//     * @param code 代码
//     * @param name 编号
//     * @param title 系标题
//     * @param sn 排序序号
//     * @param activity 是否可用
//     */
//    SystemMonitorLogType updateSystemMonitorLogType(Long id,
//                                                    Optional<Long> code,
//                                                    Optional<String> name,
//                                                    Optional<String> title,
//                                                    Optional<Long> sn,
//                                                    Optional<Boolean> activity)
//            throws ArgumentErrorException, ObjectNotFoundException, UniqueConstraintsException;
//
    /**
     * 根据ID获得系统监控日志类型对象
     * @param id id
     */
    SystemMonitorLogType findById(Long id);

    SystemMonitorLogType findByName(String name);

    /**
     * 查询系统监控日志类型
     * @param pageParam 分页对象
     */
    Iterable<SystemMonitorLogType> findSystemMonitorLogTypes(PageParam pageParam);
}
